﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace TumbaloSoft.Models
{
    public class PersonaNatural:Persona
    {

        private TipoDocumento tipoDocumento;
        private string sexo;
        protected string codigoDocumento;
        protected string nombre;
        protected string apellidoPaterno;
        protected string apellidoMaterno;
        protected DateTime fechaNacimiento;

        //[Required(ErrorMessage = "Se requiere saber el tipo de documento")]
        public TipoDocumento prTipoDocumento
        {
            get { return tipoDocumento; }
            set { tipoDocumento = value; }
        }

        [Required(ErrorMessage = "Se requiere saber el sexo")]
        public string prSexo
        {
            get { return sexo; }
            set { sexo = value; }
        }

        [Required(ErrorMessage = "Se requiere ingresar el número de documento")]
        [RegularExpression(@"\d+", ErrorMessage = "Se requiere usar numeros")]
        [MinLength(8,ErrorMessage="Se requiere ingresar 8 digitos")]
        public string prCodigoDocumento
        {
            get { return codigoDocumento; }
            set { codigoDocumento = value; }
        }

        [Required(ErrorMessage = "Se requiere ingresar el dato")]

        [RegularExpression(@"^[A-Za-zñÑáéíóúÁÉÍÓÚ\s]+$", ErrorMessage = "Se requiere usar solo letras")]
        public string prNombre
        {
            get { return nombre; }
            set { nombre = value; }
        }

        [Required(ErrorMessage = "Se requiere ingresar el dato")]
        [RegularExpression(@"^[a-zA-ZñÑáéíóúÁÉÍÓÚ]+$", ErrorMessage = "Se requiere usar solo letras")]
        public string prApellidoPaterno
        {
            get { return apellidoPaterno; }
            set { apellidoPaterno = value; }
        }

        [RegularExpression(@"^[a-zA-ZñÑáéíóúÁÉÍÓÚ]+$", ErrorMessage = "Se requiere usar solo letras")]
        public string prApellidoMaterno
        {
            get { return apellidoMaterno; }
            set { apellidoMaterno = value; }
        }

        [Required(ErrorMessage = "Se requiere saber la fecha de nacimiento")]
        public DateTime prFechaNacimiento
        {
            get { return fechaNacimiento; }
            set { fechaNacimiento = value; }
        }
    }
}